// 需要用一个新的变量来存储 i 的值
for (var i = 1; i <= 5; i++) {
    setTimeout(() => {
        console.log(i)
    }, i * 1000)
}

for (var i = 1; i <= 5; i++) {
    (function () {
        setTimeout(() => {
            console.log(i)
        }, i * 1000)
    })()
}

for (var i = 1; i <= 5; i++) {
    (function () {
        var j = i
        setTimeout(() => {
            console.log(j)
        }, j * 1000)
    })()
}

for (var i = 1; i <= 5; i++) {
    (function (j) {
        setTimeout(() => {
            console.log(j)
        }, j * 1000)
    })(i)
}
